#define DOWN_BUTTON(i, x, y) \
  case (i) + 0: cairo_move_to(context, (x) + 100, (y)); break; \
  case (i) + 1: cairo_line_to(context, (x) + 100, (y) + 20); break; \
  case (i) + 2: cairo_line_to(context, (x), (y) + 20); break; \
  case (i) + 3: cairo_line_to(context, (x), (y)); break; \
  case (i) + 4: cairo_line_to(context, (x) + 100, (y) + 24); break; \
  case (i) + 5: cairo_line_to(context, (x), (y) + 24); break;

#define RIGHT_BUTTON(i, x, y)
  ...
#define UP_BUTTON(i, x, y)
  ...
